package com.info.zhiduoduo.repository.dto.crowdsource;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotations.TableField;
import com.info.zhiduoduo.common.excelconverter.CrowdsourceStatusConverter;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

@Data
@Accessors(chain = true)
public class PersonalCapitalFlowDto {
    
    @ExcelProperty(value = "需求流水号",index = 0)
    @ApiModelProperty("需求流水号")
    private String batchNo;

    @ExcelProperty(value = "收款人姓名",index = 1)
    @ApiModelProperty("收款人姓名")
    private String acctName;

    @ExcelProperty(value = "交易金额",index = 2)
    @ApiModelProperty("交易金额")
    private BigDecimal tradeAmount;

    @ExcelProperty(value = "最后更新时间",index = 3)
    @ApiModelProperty("最后更新时间")
    private Date updatetime;

    @ExcelProperty(value = "收款账号",index = 4)
    @ApiModelProperty("银行卡号")
    private String acctno;

    @ExcelProperty(value = "收款银行名称",index = 5)
    @ApiModelProperty("开户卡")
    private String bankName;

    @ExcelProperty(value = "证件号码",index = 6)
    @ApiModelProperty("证件号")
    private String documentNumber;

    @ExcelProperty(value = "手机号码",index = 7)
    @ApiModelProperty("手机号")
    private String mobile;

    @ExcelProperty(value = "状态",index = 8,converter = CrowdsourceStatusConverter.class)
    @ApiModelProperty("交易状态")
    private Integer status;

    @ExcelProperty(value = "打款备注",index = 9)
    @ApiModelProperty("打款备注")
    private String paymentNote;

    @ExcelProperty(value = "创建时间",index = 10)
    @ApiModelProperty("创建时间")
    private Date createTime;

    @ExcelProperty(value = "尝试次数",index = 11)
    @ApiModelProperty("尝试次数")
    private Integer attempts = 1;

    @ExcelProperty(value = "打款成功时间",index = 12)
    @ApiModelProperty("打款时间")
    private Date tradeTime;

    @ExcelProperty(value = "任务名称",index = 13)
    @ApiModelProperty("任务名称")
    private String projectName;

    @ExcelProperty(value = "套餐包名称",index = 14)
    @ApiModelProperty("套餐名称")
    private String packageName;

    @ExcelProperty(value = "公司名称",index = 15)
    @ApiModelProperty("商户名称")
    private String partyName;

    @ExcelProperty(value = "失败消息",index = 16)
    @ApiModelProperty("失败消息")
    private String failureMessage;

    @ExcelProperty(value = "类型",index = 17)
    @ApiModelProperty("类型")
    private String type = "打款";

    @ExcelProperty(value = "点位",index = 18)
    @ApiModelProperty("点位")
    private BigDecimal taxSourceCostRate;

    @ExcelProperty(value = "服务费",index = 19)
    @ApiModelProperty("服务费")
    private BigDecimal serviceCharge;

    @ExcelProperty(value = "所属园区",index = 20)
    @ApiModelProperty("所属园区")
    private String affiliatedPark;

    @ExcelProperty(value = "部门",index = 21)
    @ApiModelProperty("部门")
    private String department;

    @ExcelProperty(value = "业务员",index = 22)
    @ApiModelProperty("业务员")
    private String salesman;

    @ExcelIgnore
    @ApiModelProperty("收款人id")
    private Integer userid;
    @ExcelIgnore
    @ApiModelProperty("用户类型 1:众包自然人 2:工作室")
    private Integer userType;

    @ExcelIgnore
    @ApiModelProperty("税源地id")
    private Integer taxSourceId;

    @ExcelIgnore
    @ApiModelProperty("税源地名称")
    private String taxSourceName;

}
